#define _CRT_SECURE_NO_WARNINGS
#include"test.h"
class Base final
{
public:
	void func5() { cout << "Base::func5" << endl; }
protected:
	int a = 1;
private:
	// C++98�ķ���
	/*Base()
	{}*/
};
//class A :Base
//{
//
//};
class Student;

class person
{
public:
	static int aaaaa;
	friend void Display(const person& p, const Student& s);
protected:
	string _name; // ����

};
int person::aaaaa = 1;
// ��Ԫ��ϵ���ܼ̳�
class Student : public person
{
	friend void Display(const person& p, const Student& s);
protected:
	int _stuNum; // ѧ��
};

void Display(const person& p, const Student& s)
{
	cout << p._name << endl;
	//cout << s._stuNum << endl;
}
int main()
{
	student s1("dada");
	student s2("1111");
	s2 = s1;
	Base a;
	Display(person(), Student());
	person p;
	Student s;
	//	// ��������н�����Կ����Ǿ�̬��Ա_name�ĵ�ַ�ǲ�һ����
//	// ˵��������̳������ˣ���������������һ��
	//cout << &p._name << endl;
	//cout << &s._name << endl;
//
//	// ��������н�����Կ�����̬��Ա_count�ĵ�ַ��һ����
//	// ˵��������ͻ��๲��ͬһ�ݾ�̬��Ա
	//cout << &p._count << endl;
	//cout << &s._count << endl;
//
//	// ���е�����£���������ָ�����򶼿��Է��ʾ�̬��Ա
//	cout << &person::_count << endl;
//	cout << &Student::_count << endl;
	/*Person* pp = new Person("dadad");
	pp->~Person();*/
	cout << &p.aaaaa << endl;
	cout << &s.aaaaa << endl;

	return 0;
}